import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
from sklearn.decomposition import PCA

# 使用sklearn的datasets数据集中的wine数据实现降维(datasets.load_wine())
# 1.	加载数据(10分)
data = load_wine()
x = data.data
y = data.target

# 2.	调用PCA库函数训练模型(20分)
dc = PCA(2)
x = dc.fit_transform(x)

# 3.	输出特征值的方差及比例(20分)
print(f'特征值的方差:{dc.explained_variance_}')
print(f'特征值的比例:{dc.explained_variance_ratio_}')

# 4.	画出wine数据分布图(50分)
plt.scatter(x[:, 0], x[:, 1], c=y, s=5)
plt.grid()
plt.show()
